﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace KhaoSatSinhVienTotNghiep.Model
{
    public partial class CauHoi
    {


        private static KhaoSatSVTNDataContext context = new KhaoSatSVTNDataContext();

        /// <summary>
        /// phướng thức lấy tất cả Câu hỏi có trong CSDL
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public static List<CauHoi> GetAll()
        {
            return context.CauHois.ToList();
        }

        /// <summary>
        /// Lấy một câu hỏi theo ID của câu hỏi đó
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public static CauHoi GetByID(int id)
        {
            return context.CauHois.FirstOrDefault(c=>c.MaCauHoi== id);
        }

        /// <summary>
        /// Thêm mới một câu hỏi
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public static bool AddNew(CauHoi entity)
        {
            context.CauHois.InsertOnSubmit(entity);
            context.SubmitChanges();
            return true;
        }

        /// <summary>
        /// Update một câu hỏi đã có trong csdl
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public static bool Update(CauHoi entity)
        {
            var old = GetByID(entity.MaCauHoi);
            old.ChiTiet = entity.ChiTiet;
            context.SubmitChanges();
            return true;
        }

        /// <summary>
        /// Xóa một câu hỏi đã tồn tại trong csdl
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public static bool Delete(int id)
        {
            context.CauHois.DeleteOnSubmit(GetByID(id));
            context.SubmitChanges();
            return true;
        }



        public static List<CauHoi> LayCauHoiTheoLoaiKS(string loaiks)
        {
            return context.CauHois.Where(ch => ch.MaLoaiKS == loaiks).ToList();
        }


        public static List<CauHoi> GetCauHoiByMaDotKS(int madotks)
        {
            var mach =from pks in context.PhieuKhaoSats
                        where pks.MaDotKS == madotks
                        select new { MaCauHoi = pks.MaCauHoi };
            List<CauHoi> result = new List<CauHoi>();
            foreach (var item in mach)
            {
                CauHoi choi = (from ch in context.CauHois 
                              where ch.MaCauHoi == item.MaCauHoi 
                              select ch).FirstOrDefault();
                result.Add(choi);
            }
            return result;
          
        }
  }

}

